<?php

class InitDbCommand extends ConsoleCommand
{

	public function getHelp()
	{
		return <<<EOF
用法
  yiic [--force] initdb

说明
  初始化 SQLite 数据库

选项
  --force   即使数据库已存在也强制初始化

EOF;
	}

	public function actionIndex($force = false)
	{
		chdir(Yii::getPathOfAlias('application') . '/..');
		$file = Yii::getPathOfAlias('application.data.db');
		if (file_exists($file . '.sqlite')) {
			if (!$force) {
				return $this->usageError('数据库已存在');
			} else {
				unlink($file . '.sqlite');
			}
		}
		Yii::log('开始初始化数据库 ...');
		foreach (file($file . '.sql') as $line) {
			Yii::app()->db->createCommand(trim($line))->execute();
		}
		chmod($file . '.sqlite', 0666);
		Yii::log('完成！');
	}
}
